﻿using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using GoldenWOWLauncher.Functions;
using System.Windows.Threading;
namespace GoldenWOWLauncher.Controls
{
    /// <summary>
    /// MessageFrame.xaml 的交互逻辑
    /// </summary>
    public partial class MessageFrame : UserControl
    {
        protected DispatcherTimer timer;
        public string LabelName 
        { 
            get 
            {
                if (Label.Content != null)
                    return Label.Content.ToString();
                return String.Empty;
              
            }
            set
            {
                Label.Content = value;
            }
        }

        public string TextContent
        {
            get
            {
                return Text.Text;
            }
            set
            {
                #region 标识出地址
                string[] lines = { value };
                try
                {
                    List<string> strings = new List<string>();
                    string[] s1 = value.Split('[');
                    for (int i = 0; i < s1.Length; i++)
                    {
                        //if (i % 2 == 1)
                        {
                            string[] s2 = s1[i].Split(']');
                            string[] s3 = s2[0].Split('|');
                            if (s2.Length > 1 && s3.Length > 1 /*&& s3[1].Split(':').Length > 0*/)
                            {
                                strings.Add($"uri|{s2[0]}");
                            }
                            else if (s2.Length > 1)
                            {
                                strings.Add($"quoted|{s2[0]}");
                            }
                            else
                            {
                                strings.Add(s1[i]);
                            }
                            if (s2.Length > 1)
                            {
                                strings.Add(s2[1]);
                            }
                        }
                        //else
                        //{
                        //    strings.Add(s1[i]);
                        //}
                    }
                    lines = strings.ToArray();
                }
                catch (Exception ex)
                { Logger.Instance.Log(ex.Message + ":" + ex.StackTrace); }
                #endregion

                // 清除旧内容
                Text.Inlines.Clear();

                #region 按照标识填充新内容
                foreach (string line in lines)
                {
                    string[] s = line.Split('|');
                    if (s.Length == 3 && s[0] == "uri")
                    {
                        #region 地址的处理
                        try {
                            string ShowText = string.Empty;
                            string ColorCode = string.Empty;
                            string Url = s[2];

                            string[] c = s[1].Split('#');
                            ShowText = c[0];
                            if (c.Length > 1)
                                ColorCode = $"#{c[1]}";
                            var h = new Hyperlink(new Run(ShowText))
                            {
                                //NavigateUri = new Uri($"{s[2]}:{s[3]}")
                                NavigateUri = new Uri($"{Url}")

                            };
                            if (!string.IsNullOrEmpty(ColorCode))
                                h.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(ColorCode));
                            h.Click += Hyperlink_Click;
                            Text.Inlines.Add(h);
                        }
                        catch (Exception ex)
                        {
                            Text.Inlines.Add(line);
                            try
                            {
                                Logger.Instance.Log(ex.Message + ":" + ex.StackTrace);
                            }
                            catch { }
                        }
                        #endregion
                    }
                    else if (s.Length == 2 && s[0] == "quoted")
                    {
                        #region 普通的带方括号
                        Text.Inlines.Add($"[{s[1]}]");
                        #endregion
                    }
                    else
                    {
                        #region 普通的处理
                        Text.Inlines.Add(line);
                        #endregion
                    }

                }
                #endregion

                //Text.Text = value;


            }
        }

        private void Hyperlink_Click(object sender, RoutedEventArgs e)
        {
            //// 在此处处理链接的打开效果，例如使用默认浏览器打开链接
            #region 打开浏览器
            try
            {
                Hyperlink hyperlink = (Hyperlink)sender;
                string navigateUri = hyperlink.NavigateUri.ToString();
                if (!string.IsNullOrEmpty(navigateUri))
                    System.Diagnostics.Process.Start("explorer.exe", $"\"{navigateUri}\"");

            }
            catch (Exception ex)
            {
                try
                {
                    Logger.Instance.Log(ex.Message + ":" + ex.StackTrace);
                }
                catch { }
                MessageBox.Show("浏览器打开失败");
            }
            #endregion
        }

        private List<string> _source;
        public List<string>? DataSource
        {
            get
            {
                return _source;
            }
            set
            {
                if (value == null)
                    value = new List<string>();
                _source = value;
                
                if (_source.Count > 0)
                {
                    #region 对象方式的处理
                    //foreach (KeyValuePair<string, string> item in newsItem1)
                    CurrentIndex = 0;// 姑且先只处理第一个
                    RefreshCurrentItem();
                    #endregion
                }
            }
        }

        protected int CurrentIndex = 0;
        protected Dictionary<string, string>? CurrentItem
        {
            get
            {
                if (CurrentIndex >= _source.Count)
                    CurrentIndex = 0;
                if (CurrentIndex < 0)
                    CurrentIndex = 0;
                if (CurrentIndex >= 0)
                    return LocalServices.JsonToDictionary(_source[CurrentIndex]);
                return null;
            }
        }
        protected void RefreshCurrentItem()
        {
            try
            {
                if (CurrentItem != null)
                {
                    string title = string.Empty;
                    string message = string.Empty;
                    string url = string.Empty;
                    if (CurrentItem.ContainsKey("title"))
                        title = LocalServices.ConvertUnicodeToUtf8(CurrentItem["title"]);
                    if (CurrentItem.ContainsKey("message"))
                        message = LocalServices.ConvertUnicodeToUtf8(CurrentItem["message"]);
                    if (CurrentItem.ContainsKey("url"))
                        url = CurrentItem["url"];
#if DEBUG
                    message += "废话废话<br>[这是bing#7CFC00|https://docs.qq.com/aio/DREhMZ1Vnc3R5Qm1T?p=JCCuijNM2toffiRdQRVIpd&u=undefined]话废话废话废话废话<br><br>☆本服游玩手册：[金色花园(RP)公益服游玩手册#7CFC00|https://docs.qq.com/aio/DREhMZ1Vnc3R5Qm1T?p=JCCuijNM2toffiRdQRVIpd]<br><br>☆服务器特色：<br>1. 佣兵废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
                    //message += "<br>从这里开始，以下的都是废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话废话";
#endif

                    if (!url.Contains("http"))
                        url = "https://" + url + "/";

                    this.LabelName = title;

                    if (message.Contains("<br>"))
                    {
                        message = message.Replace("<br>", "\r\n");
                    }
                    this.TextContent = message;
                    
                    this.Link = url;
                }
 
            }
            catch (Exception ex)
            { }
        }
        public string Link
        {
            get;set;
        }

        public MessageFrame()
        {
            Link = string.Empty;
            InitializeComponent();
            _source = new List<string>();

            timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(300000000);
            timer.Tick += Timer_Tick;
            timer.Start();
        }

        bool timerLock = false;
        private void Timer_Tick(object? sender, EventArgs e)
        {
            if (timerLock)
                return;
            timerLock = true;
            try
            {
                RoutedEventArgs? ne = e as RoutedEventArgs;
                if (ne == null)
                    ne = new RoutedEventArgs();
                if (sender == null)
                    sender = this;
                btn_Next_Click(sender, ne);
            }
            catch (Exception ex)
            { 
            }
            timerLock = false;
        }

        private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
        {
            #region 打开浏览器
            try
            {
                if (!string.IsNullOrEmpty(Link))
                    System.Diagnostics.Process.Start("explorer.exe", $"\"{Link}\"");
            }
            catch (Exception ex)
            {
                MessageBox.Show("浏览器打开失败");
            }
            #endregion
        }

        private void btn_Last_Click(object sender, RoutedEventArgs e)
        {
            timer.Stop();
            CurrentIndex--;
            if (CurrentIndex < 0)
                CurrentIndex = _source.Count - 1;
            RefreshCurrentItem();
            timer.Start();
        }

        private void btn_Next_Click(object sender, RoutedEventArgs e)
        {
            timer.Stop();
            CurrentIndex++;
            RefreshCurrentItem();
            timer.Start();
        }

    }
}
